iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 21
0

跟著這本書學了基本的python語法20天後,今天終於要來做點東西了!! XDD
選了這本書裡的第三個project-Django的使用,在這裡我們會做出一個學習日誌,再將它部署到作用中的伺服器,讓您和您的朋友能使用它

設立虛擬環境

要運用Django的話要先設立一個虛擬環境,虛擬環境是我們系統中的某個位置,可讓我們在其中安裝套件,並與其它的python套件隔開

首先我們要先開啟終端機,創一個名叫learning_log的新目錄

mkdir learning_log

然後切換到剛剛建立的新目錄

cd learning_log

接下來我們要建立一個虛擬環境的資料夾名為learning_log

C:\Users\ASUS\learning_log> python -m venv learning_log

切換虛擬環境

建立完虛擬環境後我們可以用activate這個script來啟動它

C:\Users\ASUS\learning_log> learning_log\Scripts\activate

輸入完上面那行指令後我們會切換到目前的虛擬環境中,如果看到前面多了(虛擬環境資料夾名稱),就代表已成功切換,下面是成功切換後的樣子

(learning_log) C:\Users\ASUS\learning_log>

安裝Django

Python有pip這個強大的套件管理工具,我們將使用它來安裝Django

輸入下面這行指令後就會開始安裝Django

(learning_log) C:\Users\ASUS\learning_log> pip install Django

按enter之後就讓它跑一下,如果安裝成功就會看到下圖

ps.Django只能在虛擬在虛擬環境啟動下使用

在Django中設定專案

下面這行命令讓Django建立一個叫做learning_log的新專案,此命令尾端的句點會建立帶有目錄結構的新專案,並在開發完成 後把應用程式部署到伺服器這個目錄結構中

(learning_log) C:\Users\ASUS\learning_log> django-admin.py startproject learning_log .

下面這行指令可以看learning_log目錄中含有甚麼檔案,其中setting.py是指定Django如何與您的系統互動和管理專案,urls.py是告知Django要建立那些網頁來回應瀏覽器的請求,wsgi.py是協助Django提供它建立的專案

(learning_log) C:\Users\ASUS\learning_log> dir learning_log

打完dir指令後會看到下圖

建立資料庫

因為Django把大部分的專案與相關資訊都存在資料庫內,所以我們要建立一個可供Django運用的資料庫

當我們修改資料庫時,我們稱之為遷移,首次執行migrate命令時,會讓Django確定資料庫與專案的目前狀態有配合好

(learning_log) C:\Users\ASUS\learning_log> python manage.py migrate

輸入完上面的指令後會出現下圖,在這裡Django指出它會建立必要的資料庫資料表用來儲存我們在這個專案使用的資訊

然後下面這張圖是我們再輸入一次dir發現目錄裡多了一個db.sqlite3就代表建立成功了

查看專案

全部都建立好後,我們可以輸入runserver命令來確認Django是否有成功建立專案,如下圖所示

上面的圖片中system check identified no issues是Django透過檢查確認有正確的建立專案,starting development server是指出專案的URL

所以當我們輸入上圖給的URL我們會看到Django建立成功的頁面,這樣就是把環境都架設好了

附上排版較精美的
HackMD網址:https://hackmd.io/F5k_RRgkQKylFBTZM1TS8Q?both

今天結束,各位明天見


資料來源:<<python程式設計的樂趣>>-Eric Matthes著/H&C譯
資料來源:https://djangogirlstaipei.gitbooks.io/django-girls-taipei-tutorial/django/installation.html


上一篇
DAY 20 儲存資料
下一篇
DAY 22 Django建立應用程式
系列文
初學者Python的應用實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言